package cn.lhl01.config;

import cn.lhl01.util.PasswordUtil;
import com.dtflys.forest.springboot.annotation.ForestScan;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import org.springframework.security.config.annotation.method.configuration.EnableGlobalMethodSecurity;
import org.springframework.security.crypto.password.PasswordEncoder;

/**
 * 权限控制 只针对资源开启最细粒度控制
 * 每一个资源 对应一个url路径 可以实现按钮级别的控制
 */
@Configuration
//开启PreAuthorize权限校验
@EnableGlobalMethodSecurity(prePostEnabled = true)
//扫描接口  在Spring Boot的配置类或者启动类上加上@ForestScan注解，并在basePackages属性里填上远程接口的所在的包名
@ForestScan(basePackages = "cn.lhl01.outside_interfac")
public class Spring_Cfg {

	/**
	 * 密码加密类
	 *
	 * @return
	 */
	@Bean
	public PasswordEncoder passwordEncoder() {
		//return PasswordUtil.getDefaultPasswordEncoder();  //默认值 同spring一样
		return PasswordUtil.getPasswordEncoder(PasswordUtil.NOOP); //明文的
	}

}
